package cn.cyh.queue_service.model.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import jakarta.validation.constraints.NotNull;
import java.time.LocalDate;

/**
 * 统计请求数据传输对象
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StatisticsRequest {
    
    /**
     * 开始日期
     */
    @NotNull(message = "开始日期不能为空")
    private LocalDate startDate;
    
    /**
     * 结束日期
     */
    @NotNull(message = "结束日期不能为空")
    private LocalDate endDate;
    
    /**
     * 业务类型ID（可选，不指定则统计全部业务类型）
     */
    private Long serviceTypeId;

    /**
     * 等待人数
     */
    private Integer waitingCount;
    
    /**
     * 窗口ID（可选，不指定则统计全部窗口）
     */
    private Long windowId;
    
    /**
     * 操作员ID（可选，不指定则统计全部操作员）
     */
    private Long staffId;
    
    /**
     * 统计类型（daily-按日统计, window-按窗口统计, business-按业务类型统计）
     */
    private String type;
    
    /**
     * 导出格式（csv或excel）
     */
    private String format;
} 